The present invention relates to telecommunication, and more particularly to computer processing of metered information regarding communication services.
Known communication billing systems meter usage of telephone services and prepare billing based traditionally on time and distance of telephone calls. While such billing systems met the needs of telephone companies for many years, the telecommunication market is experiencing fundamental changes giving rise to a need for new billing systems, which are more flexible and robust. These changes are driven by worldwide deregulation, privatization, increased competition, and new communications technologies, such as the Internet, and the advent of Internet-Protocol (IP) networks.
With increased competition among aggressive new entrants and diversifying telephone service companies in the burgeoning telecommunication market, margins on voice and other services are under pressure. As a result, network service providers (NSPs) and downstream, independent service providers (ISPs) are looking at ways to differentiate themselves from their competition. One way is to offer value added services packages, often called xe2x80x9cproductsxe2x80x9d, including, for example, an ever-changing variety of telephone calling plans. Other such value added services include video-on-demand, Web hosting, and streaming media. These value added services are not typically billed like traditional telephony, but rather pursuant to special or even customized billing plans. Special pricing may apply depending on total or aggregate usage, calling xe2x80x9ctime of dayxe2x80x9d or xe2x80x9cday of the weekxe2x80x9d, or combinations of services purchased. Many value added services are packaged for particular market segments, such as residential, small business or enterprise, and carry different rates depending on segment. Some provide subscribers with a menu of telecommunication services from which to choose, often with a number of billing options for each.
One problem that arises relates to integration of such new value added services into existing billing systems. Traditionally, NSPs used large mainframe computers and custom-designed billing software that typically required months for modification for integration of new value added services and their accompanying billing plans. Such modifications to existing billing systems represented a high overhead, in terms of cost and time, associated with rollout of new value added services. For example, when a major NSP introduced a new telephone plan for residential customers called xe2x80x9cFriends and Family(trademark)xe2x80x9d, it enjoyed a nine month lead over its competitors who were delayed in introducing similar products by the time it took to modify their existing billing systems. Lengthy delay in xe2x80x9ctime to marketxe2x80x9d can cost NSPs and ISVs significantly in revenue and market share.
New service products arising from new technologies introduce complications as well, because NSPs and ISVs frequently want such services to be bundled with traditional services as a unified package, or, at their option, billed as single or separate products. Traditional billing platforms do not usually provide such flexibility in billing.
Moreover, NSPs and ISVs may wish to meter, monitor usage, and generate usage reports for a variety of reasons other than bill preparation. It may prove useful for NSPs and ISVs to meter services, even though they do not currently bill customers for such services, in order to determine whether they should start billing for such services in the future. For other services, NSP and ISVs may rely on usage-graduated billing plans to charge for excessive network use and thereby discourage potential network bottlenecks. Such billing schemes typically charge users only when usage crosses a preset threshold, and thus such services require metering for comparing actual usage against the threshold.
To illustrate the complexity involved with billing, a universal messaging service may offer fax, voice, video, pager, and email capabilities. Most users would currently assume that everything except email should be metered and billed; email is usually regarded today as xe2x80x9cfreexe2x80x9d. Unfortunately, spamming is common practice and email files containing attachments are increasing in size. One can imagine an NSP creating a services billing plan that allows users to send, for example, 5000 emails and 100 MB of traffic per month for free as part of a messaging service, but then apply usage-based charges for anything above those levels. Data volume is a common reason for metering high-volume services.
It would be desirable to provide NSPs and ISPs with flexible billing platforms that enable rapid deployment of new value added service offerings. Such platforms should enable rollout of new services, e.g., within weeks, and new releases, upgrades or updates several times a year without interrupting billing activity. Preferably, such platforms would reduce overhead associated with the rollout, and provide an xe2x80x9cend-to-endxe2x80x9d solution to billing for such new services.
It would also be desirable to provide a system for enabling NSPs and ISPs to have real-time access to unified billing data based on customer usage of new value added services. This would enable NSPs and ISPs to track customer usage for purposes of business management, and implement appropriate changes to value added services as indicated by the usage data.
The invention resides in a metering and processing system for processing metered information, which incorporates configurable processing modules and a configuration manager. The system can by readily and flexibly configured, responsive to operator directions, to process information to meet the needs of data consumers, such as NSPs and ISPs. Each processing module performs a specific sub-part of a computation on the metered information, and the configuration manager generates a configuration file for specifying the order of operation, computation sub-part, and other operational parameters for the individual processing modules.
The processing modules, referred to herein also as xe2x80x9cplug-insxe2x80x9d, can operate under the control of an execution management framework. The plug-ins can be viewed as plugging into and out of the framework, and as modular, reusable computational pieces or building blocks, which come together to perform the computation under the direction of the framework and pursuant to a configuration file. The plug-ins can be added, removed, and/or replaced for modifying the calculation performed by the system in generating output data. For use, a user or operator devices the computation, e.g., calculation formula, required for a particular VAS, and uses the configuration manager""s user interface to select and order the plug-ins to carry out that formula.
More specifically, the system can have a mechanism for converting the metered information into session data, a processing unit for processing the session data, and a configuration manager. The processing unit performs calculations on the session data to generate processed session data, and includes an execution management framework, and a plurality of plug-ins for processing the session data as directed by the framework with each performing a sub-part of the calculations. The configuration manager generates a configuration file reflecting user selections of configuration parameters for plug-in execution. The configuration manager can include a user interface for receiving the selections, including, e.g., an order of operation and the calculation function or sub-part for each plug-in in accordance with data consumer requirements. The session data can include property name/value pairs pertaining to a session, and the plug-ins can perform operations, including mathematical operations, on the property name/value pairs to obtain a set of processed session data.
The system can be implemented to include a multi-stage processing pipeline, each pipeline stage including multiple processing modules and an execution management framework, and capable of multi-threading operation to cause the plug-ins to execute in series or in parallel to speed processing by the plug-ins while accommodating computational dependencies. In some embodiments, the system can also have a metering apparatus for collecting the metered user information, and a presentation manager for providing processed session data to data consumers.
In accordance with another aspect of the invention, the configuration manager can further include a dependency data table for maintaining data regarding computational dependencies; and an order determining mechanism, responsive to the dependency data, for tracking computational dependencies for the plug-ins and insuring the proper order of plug-in operation. The order determining mechanism can include a dependency counter associated with each plug-in for determining an operational sequence position of the associated plug-in, and means for conditioning the counter (e.g., decrementing or incrementing the count) in response to operation of another of the plug-ins on which the associated plug-in depends, so that the associated plug-in will commence operation in the proper order when the counter reaches a predetermined count or value. Thus, in conclusion, a mechanism is provided for tracking and enforcing the ordering of data processing by the processing modules so as to take into account dependencies between them.
Accordingly, a system in accordance with the invention can provide a scalable infrastructure to meter, rate, provision, account for, authorize, authenticate, mediate, and bill for services, such as usage-based services. NSPs and ISPs can advantageously employ the system to meter detailed usage information and assign charges for value added services. They can also use the system for processing other metered information regarding the services and their use, such as, for example, information for authentication of users, for prepayment or for credit pre-authorization for service charges. The system permits NSPs and ISPs to create new rating schemes and cross-service plans by entering the appropriate computational parameters using the configuration manager""s user interface, e.g., a graphical user interface (GUI).